package ro.inf.bomberman;

/**
 * Bearbeitet Kollisionen.
 *
 * @author Felix
 */
public class Collision {

    private Field field; // Zielfeld.
    private GameField spielfeld;
    private Object constructingObject; // Objekt, das die Collision ausführt.

    /**
     * Konstruktor für die Klasse Collision.
     *
     * @author Felix
     * @param coordinateOfField
     * @param spielfeld
     * @param constructingObject  
	 *
     */
    public Collision(Coordinate coordinateOfField, GameField spielfeld, Object constructingObject) {
        this.spielfeld = spielfeld;
        this.field = this.spielfeld.mapCoordToField(coordinateOfField);
        this.constructingObject = constructingObject;
    }

    /**
     * Prüft, ob die Bewegung des constructingObjects in das Zielfeld möglich
     * ist und gibt true für "Bewegung nicht möglich" und false für "Bewegung
     * erlaubt" zurück.
     *
     * @author Felix
     * @return boolean
     */
    public boolean collisionCheck() {
        boolean ret = false;
        if (field.containsObject() == true
                && !field.getRegisteredObject().equals(this.constructingObject)) {
            ret = true;
        }
        return ret;
    }
}
